cmake_minimum_required(VERSION 3.16)

project(cppconcurrency-notebook)

set(CMAKE_CXX_COMPILER "g++")
add_compile_options(-std=c++17)

add_executable(thread_test ../src/thread_test.cpp)
target_link_libraries(thread_test pthread)

add_executable(accumulate_test ../src/accumulate_test.cpp)
target_link_libraries(accumulate_test pthread)

add_executable(mutex_test ../src/mutex_test.cpp)
target_link_libraries(mutex_test pthread)

add_executable(threadsafe_stack_test ../src/threadsafe_stack_test.cpp)
target_link_libraries(threadsafe_stack_test pthread)

add_executable(condition_test ../src/condition_test.cpp)
target_link_libraries(condition_test pthread)

add_executable(threadsafe_queue_test ../src/threadsafe_queue_test.cpp)
target_link_libraries(threadsafe_queue_test pthread)

add_executable(future_test ../src/future_test.cpp)
target_link_libraries(future_test pthread)

add_executable(chrono_test ../src/chrono_test.cpp)

add_executable(atomic_test ../src/atomic_test.cpp)
target_link_libraries(atomic_test pthread)

add_executable(threadsafe_que ../src/threadsafe_que.cpp)
target_link_libraries(threadsafe_que pthread)

add_executable(threadsafe_lookup_test ../src/threadsafe_lookup_test.cpp)
target_link_libraries(threadsafe_lookup_test pthread)

add_executable(thread_pool_test ../src/thread_pool_test.cpp)
target_link_libraries(thread_pool_test pthread)